<?php

namespace Lazzaroni\UsuarioBundle\DataFixtures\ORM;

use Doctrine\Common\DataFixtures\FixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Lazzaroni\UsuarioBundle\Entity\Usuario;
use Lazzaroni\PartituraBundle\Entity\Partitura;

class Usuarios implements FixtureInterface, ContainerAwareInterface {

    private $container;

    public function setContainer(ContainerInterface $container = null) {
        $this->container = $container;
    }


    public function load(ObjectManager $manager) {
        
        $usuarios = array(
        array('nombre' => 'Esteban', 'apellidos' => 'Lazzaroni', 'email' => 'esteban.lazzaroni@gmail.com', 'password' => 'esteban123', 'username' => 'estebanlazza'),
        array('nombre' => 'Denis', 'apellidos' => 'Bevilacqua', 'email' => 'denis.bevilacqua@gmail.com', 'password' => 'denis123', 'username' => 'denisbevilacaqua'),
        array('nombre' => 'Juan Pablo', 'apellidos' => 'Jacob', 'email' => 'jp.jacob@gmail.com', 'password' => 'jpj123', 'username' => 'jpjacob'),
        array('nombre' => 'Caio', 'apellidos' => 'Lazza', 'email' => 'caio@gmail.com', 'password' => 'caio', 'username' => 'caiouser'),
    );


        foreach ($usuarios as $usuario) {
            $entidad = new Usuario();
            $entidad->setNombres($usuario['nombre']);
            $entidad->setApellidos($usuario['apellidos']);
            $entidad->setEmail($usuario['email']);
            $entidad->setUsername($usuario['username']);
            $entidad->setFechaAlta(new \DateTime('2009-10-12'));
            $entidad->setSexo("Hombre");
            $entidad->setNacionalidad('argentina');
            $entidad->setUltimaConexion(new \DateTime());


            $passwordEnClaro = $usuario['password'];
            $salt = md5(time());
            $encoder = $this->container->get('security.encoder_factory')
                    ->getEncoder($entidad);
            $password = $encoder->encodePassword($passwordEnClaro, $salt);
            $entidad->setPassword($password);

            $entidad->setSalt($salt);
            
            $manager->persist($entidad);
        }

        $manager->flush();
        
        
        
        
                $partituras = array(
        array('tituloObra' => '10 anios despues', 'autor' => 'Andres Calamaro', 'instrumentos' => 'saxofon', 'propietario' => '4'),
        array('tituloObra' => 'Estadio Azteca', 'autor' => 'Andres Calamaro', 'instrumentos' => 'saxofon', 'propietario' => '4'),
        array('tituloObra' => 'Mil Horas', 'autor' => 'Andres Calamaro', 'instrumentos' => 'saxofon', 'propietario' => '4'),
        array('tituloObra' => 'Buena suerte y hasta luego', 'autor' => 'Andres Calamaro', 'instrumentos' => 'saxofon', 'propietario' => '1'),
        array('tituloObra' => 'Palabras mas, palabras menos', 'autor' => 'Andres Calamaro', 'instrumentos' => 'saxofon', 'propietario' => '1'),
        array('tituloObra' => 'Mi enfermedad', 'autor' => 'Andres Calamaro', 'instrumentos' => 'saxofon', 'propietario' => '1'),
    );

        
        $propietario = $manager->getRepository('UsuarioBundle:Usuario')->findOneByUserName('caiouser');
        
        
        foreach ($partituras as $partitura) {
            $entidad = new Partitura();
            $entidad->setTituloObra($partitura['tituloObra']);
            $entidad->setAutor($partitura['autor']);
            $entidad->setInstrumentos($partitura['instrumentos']);
            $entidad->setPropietario($propietario);

            $manager->persist($entidad);
        }

        $manager->flush();
    }

}
